Dash

Row

+16 %

+31 %

-48 %

Row

+28 %

+24 %

-59 %

Row

Primo

Column

Primo A

Website

Column

Chart A

Chart B

Column

Chart C

Chart D

E-Books

Column

Chart A

Journals

Column

Chart A

Ausleihen

Column

Ausleihen

Personenzähler

Column

Chart A

---
title: "Nutzungsstatistiken 2020"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: fill
    source_code: embed
 #   self_contained: false 
# https://stackoverflow.com/questions/54643852/how-to-reduce-the-size-of-flexdashboards
editor_options: 
  chunk_output_type: console
---

 


```{r eval = FALSE}
# change color of navbar


```
 

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE,
                      message = FALSE,
                      warning = FALSE,
                      options(scipen = 999))

library(flexdashboard)
library(readxl)
library(tidyverse)
library(lubridate)
library(gt)
library(janitor)
library(scales)
#library(DT)
library(plotly)
library(gameofthrones)
library(RColorBrewer)

# Ressources:
# https://towardsdatascience.com/building-an-hr-dashboard-in-r-using-flexdashboard-76d14ed3f32
# https://rmarkdown.rstudio.com/flexdashboard/using.html
# Icons:
# https://fontawesome.com/

pal <- got(20, option = "Jon_Snow", direction = 1)

#library(stringr)
pal <- str_sub(pal, end=-3)

# Alternative Farbpaletten
#pal <- brewer.pal(n = 9, name = "RdYlGn")
#pal <- got(9, option = "Tyrell", direction = -1)



```

Dash {data-icon="fa-globe"}
===================================== 

Row {data-height=300}
-----------------------------------------------------------------------

###

```{r}
articles <- "+16 %"
valueBox(articles,
         caption = "Suchen in Primo 
(im Vergleich zum Vorjahr 2019)", icon = "fa-search-plus", color = pal[17], href = "#primo") ``` ### ```{r} articles <- "+31 %" valueBox(articles, caption = "Downloads aus E-Books von Springer
(im Vergleich zum Vorjahr 2019)", icon = "fa-book", color = pal[20], href = "#e-books") ``` ### ```{r} spam <- "-48 %" valueBox(spam, caption = "Ausleihen von Büchern
(im Vergleich zum Vorjahr 2019)", icon = "fa-book", color = pal[12], href="#ausleihen") ``` ```{r eval=FALSE} ### #Die Zahl bezieht sich auf die prozentuale Veränderung zum Vorjahr 2019. ``` Row {data-height=300} ----------------------------------------------------------------------- ### ```{r} comments <- "+28 %" valueBox(comments, caption = "Besuche der Website
(im Vergleich zum Vorjahr 2020)", icon = "fa-user-check", color = pal[19], href = "#website") ``` ### ```{r} articles <- "+24 %" valueBox(articles, caption = "Downloads aus E-Journals von Springer
(im Vergleich zum Vorjahr 2019)", icon = "fa-file", color = pal[18], href = "#journals") ``` ### ```{r} spam <- "-59 %" valueBox(spam, caption = "Personenzähler CVK
(im Vergleich zum Vorjahr 2019)", icon = "fa-users", color = pal[11], href="#personenzähler") ``` Row {data-height=300} ----------------------------------------------------------------------- Primo {data-orientation=columns} ===================================== Column {data-width=400, data-height=400} ----------------------------------------------------------------------- ### Primo A ```{r} Primo_Stat_Auswertungen <- read_excel( "T:/Statistik/ALMA_ART/Primo_Stat_Auswertungen.xlsx", sheet = "R_1", col_types = c("date", "text", "numeric") ) ``` ```{r} Primo <- Primo_Stat_Auswertungen %>% mutate(Year = year(Date)) %>% group_by(Year, Action) %>% summarise(Value = sum(Value)) ``` ```{r} Primo_3 <- Primo %>% summarise(Search_Total = sum(Value)) %>% mutate(Percent_Change = (Search_Total / (lag(Search_Total)) - 1)) ``` ```{r} pal <- got(2, option = "Jon_Snow", direction = 1) p1 <- ggplot(Primo, aes(x = Year, y = Value)) + geom_col(aes(fill = Action), position = "dodge") + theme_classic() + labs( title = "Primo: Anzahl Suchen von 2018 bis 2020", subtitle = "", fill = "Suchen", y = "", x = "" ) + scale_fill_manual(values = pal) + theme(legend.position = "bottom") ggplotly(p1) %>% layout(legend = list(orientation = "h", y = -0.1)) #+ # facet_wrap(~Date) ``` ```{r eval=FALSE} #Column {data-width=200, data-height=200} #----------------------------------------------------------------------- ### Primo B Primo_2 <- Primo %>% spread(key = Year, value = Value) %>% adorn_totals("row") gt(Primo_3) %>% tab_header(title = md("Suchen in Primo")) ``` Website {data-orientation=columns} ===================================== Column ----------------------------------------------------------------------- ### Chart A ```{r} Website_Besuche <- read_excel( "T:/Statistik/ALMA_ART/Website.xlsx", sheet = "Besuche", col_types = c("numeric", "text", "numeric") ) ``` ```{r} Website_Besuche_2 <- Website_Besuche %>% group_by(Action) %>% # filter(Action == "Besuche") %>% mutate(Percent_Change = (Value / (lag(Value)) - 1)) ``` ```{r} pal <- got(2, option = "Jon_Snow", direction = 1) p1 <- ggplot(Website_Besuche, aes(x = Date, y = Value)) + geom_col(aes(fill = Action), position = "dodge") + theme_classic() + scale_fill_manual(values = pal) + labs(title = "Website: Besuche und Seitenansichten 2018 bis 2020", fill = "", y = "", x = "") ggplotly(p1) ``` ### Chart B ```{r} Website_OS <- read_excel( "T:/Statistik/ALMA_ART/Website.xlsx", sheet = "Desktop", col_types = c("text", "text", "numeric") ) ``` ```{r} pal <- got(3, option = "Jon_Snow", direction = -1) p1 <- Website_OS %>% filter(date == "2020") %>% plot_ly(marker = list(colors = pal)) %>% add_pie(labels = Website_OS$action, values = Website_OS$value, hole = 0.6) %>% layout(title = "Website: Verwendung Betriebssysteme 2020") p1 ``` Column ----------------------------------------------------------------------- ### Chart C ```{r} Website_Users <- read_excel( "T:/Statistik/ALMA_ART/Website.xlsx", sheet = "Users", col_types = c("date", "numeric", "numeric") ) pal <- got(3, option = "Jon_Snow", direction = 1) ``` ```{r} Website_Users_2 <- Website_Users %>% mutate(month = as.factor(month(date, label = T, abb = T))) %>% mutate(year = as.factor(year(date))) p2 <- ggplot(Website_Users_2, aes(x = month, y = visits, color = year)) + geom_point(size = 2) + geom_line(aes(x = month, y = visits, group = year), size = 1) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_color_manual(values = pal) + labs( title = "Website: Besuche 2018 bis 2020", y = "Besuche", x = "", color = "" ) ggplotly(p2) ``` ### Chart D ```{r} Website_Users_2 <- Website_Users %>% mutate(month = as.factor(month(date, label = T, abb = T))) %>% mutate(year = as.factor(year(date))) #%>% # filter(date >= "2019-01-01") p1 <- ggplot(Website_Users_2, aes(x = month, y = unique_users, color = year)) + geom_point(size = 2) + geom_line(aes(x = month, y = unique_users, group = year), size = 1) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_color_manual(values = pal) + labs( title = "Website: Unique Users 2018 bis 2020", y = "Unique Users", x = "", color = "" ) ggplotly(p1) ``` E-Books {data-orientation=columns} ===================================== Column {data-width=400, data-height=400} ----------------------------------------------------------------------- ### Chart A ```{r} Springer_2019_20 <- read.csv("T:/Statistik/ALMA_ART/Rohdaten_Springer/Springer_counter5_tr_b1_2019-01-2020-12.csv", header = T, skip = 13, sep = ",") ``` ```{r} # http://www.bib-bvb.de/documents/11183/10148261/COUNTER-5_Zusammenstellung_KER_2020-01.pdf/bfaa960a-30ed-4429-9a99-1328a0598c44 # https://stackoverflow.com/questions/13575180/how-to-change-language-settings-in-r #Sys.setenv(LANG = "en") # https://stackoverflow.com/questions/39340185/how-to-set-the-default-language-of-date-in-r #Sys.setlocale("LC_TIME", "German") ``` ```{r} Springer <- Springer_2019_20 %>% group_by(Metric_Type) %>% summarise_at(vars(Jan.2019:Dec.2020), sum) %>% filter(Metric_Type == "Unique_Title_Requests") %>% select(-1) %>% gather() %>% mutate(date = my(key)) %>% mutate(month = as.factor(month(date, label = T, abb = T))) %>% mutate(year = as.factor(year(date))) ``` ```{r} pal <- got(2, option = "Jon_Snow", direction = 1) p1 <- ggplot(Springer, aes(x = month, y = value, color = year)) + geom_point(size = 2) + geom_line(aes(x = month, y = value, group = year), size = 1) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_color_manual(values = pal) + ylim(0, NA) + labs( title = "Springer E-Books Unique Title Requests 2019 und 2020 (TR_B1)", y = "Unique Title Requests", x = "", color = "" ) ggplotly(p1) ``` ```{r eval=FALSE} Springer %>% group_by(year) %>% summarise(value = sum(value)) %>% mutate(percent_change = (value / (lag(value)) - 1)) ``` Journals {data-orientation=columns} ===================================== Column {data-width=400, data-height=400} ----------------------------------------------------------------------- ### Chart A ```{r} Springer_2019_20 <- read.csv("T:/Statistik/ALMA_ART/Rohdaten_Springer/Springer_counter5_tr_j1_2019-01-2020-12.csv", header = T, skip = 13, sep = ",") ``` ```{r} # http://www.bib-bvb.de/documents/11183/10148261/COUNTER-5_Zusammenstellung_KER_2020-01.pdf/bfaa960a-30ed-4429-9a99-1328a0598c44 # https://stackoverflow.com/questions/13575180/how-to-change-language-settings-in-r #Sys.setenv(LANG = "en") # https://stackoverflow.com/questions/39340185/how-to-set-the-default-language-of-date-in-r #Sys.setlocale("LC_TIME", "German") ``` ```{r} Springer <- Springer_2019_20 %>% group_by(Metric_Type) %>% summarise_at(vars(Jan.2019:Dec.2020), sum) %>% filter(Metric_Type == "Unique_Item_Requests") %>% select(-1) %>% gather() %>% mutate(date = my(key)) %>% mutate(month = as.factor(month(date, label = T, abb = T))) %>% mutate(year = as.factor(year(date))) ``` ```{r} pal <- got(2, option = "Jon_Snow", direction = 1) p1 <- ggplot(Springer, aes(x = month, y = value, color = year)) + geom_point(size = 2) + geom_line(aes(x = month, y = value, group = year), size = 1) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_color_manual(values = pal) + ylim(0, NA) + labs( title = "Springer Journals Unique Item Requests 2019 und 2020 (TR_J1)", y = "Unique Item Requests", x = "", color = "" ) ggplotly(p1) ``` ```{r eval=FALSE} Springer %>% group_by(year) %>% summarise(value = sum(value)) %>% mutate(percent_change = (value / (lag(value)) - 1)) ``` Ausleihen {data-orientation=columns} ===================================== Column {data-width=400, data-height=400} ----------------------------------------------------------------------- ### Ausleihen ```{r eval=FALSE} Ausleihen <- read_excel( "T:/Statistik/ALMA_ART/Ausleihen.xlsx", sheet = "Ausleihen_R", col_types = c("text", "numeric", "numeric", "numeric", "numeric"), na = "NA" ) ``` ```{r eval=FALSE} pal <- got(12, option = "Jon_Snow", direction = -1) p1 <- ggplot(Ausleihen, aes(x = Jahr, y = Ausleihen_u_Verl)) + geom_col(fill = pal[1]) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + labs( title = "Ausleihen (inkl. Verl.) alle Standorte 2007 bis 2020", y = "Ausleihen", x = "", color = "" ) ggplotly(p1) ``` ```{r eval=FALSE} Ausleihen %>% mutate(Percent_Change = (Ausleihen_u_Verl / (lag(Ausleihen_u_Verl)) - 1)) ``` ```{r} Ausleihen <- read_excel( "T:/Statistik/ALMA_ART/Ausl_Verl.xlsx", sheet = "Tabelle1", col_types = c("text", "text", "numeric", "numeric", "numeric", "numeric"), na = "NA" ) ``` ```{r} Ausleihen <- Ausleihen %>% mutate(Ausl_Verl = Ausleihen + Verlängerungen) %>% mutate(Monat = as.factor(month(Monat, label = T, abb = T))) ``` ```{r} pal <- got(3, option = "Jon_Snow", direction = -1) p1 <- ggplot(Ausleihen, aes(x = Monat, y = Ausl_Verl, color = Bibliothek)) + geom_point(size = 2) + geom_line(aes(x = Monat, y = Ausl_Verl, group = Bibliothek), size = 1) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_color_manual(values = pal) + ylim(0, NA) + labs( title = "Ausleihen (inkl. Verl.) 2019 und 2020", y = "", x = "", color = "" ) + facet_wrap(~Jahr) ggplotly(p1) ``` ```{r eval=FALSE} Ausleihen %>% group_by(Jahr) %>% summarise(Ausl_Verl = sum(Ausl_Verl)) %>% mutate(Percent_Change = (Ausl_Verl / (lag(Ausl_Verl)) - 1)) ``` Personenzähler {data-orientation=columns} ===================================== Column {data-width=400, data-height=400} ----------------------------------------------------------------------- ### Chart A ```{r} Lesesaal <- read_excel( "T:/Statistik/ALMA_ART/Lesesaal.xlsx", sheet = "Tabelle1", col_types = c("date", "numeric"), na = "NA" ) Lesesaal_2 <- Lesesaal %>% mutate(month = as.factor(month(Date, label = T, abb = T))) %>% mutate(year = as.factor(year(Date))) pal <- got(3, option = "Jon_Snow", direction = 1) p1 <- ggplot(Lesesaal_2, aes(x = month, y = Value, color = year)) + geom_point(size = 2) + geom_line(aes(x = month, y = Value, group = year), size = 1) + theme(axis.text.x = element_text(angle = 90)) + # scale_x_datetime(date_labels = "%b %Y", date_breaks = "2 month")+ theme_classic() + theme(axis.text.x = element_text(angle = 45, hjust = 1)) + scale_color_manual(values = pal) + labs( title = "Personenzähler CVK 2018 bis 2020", y = "Personenzähler", x = "", color = "" ) ggplotly(p1) ``` ```{r eval=FALSE} Lesesaal_2 %>% group_by(year) %>% summarise(Value = sum(Value)) %>% mutate(percent_change = (Value / (lag(Value)) - 1)) ```